package com.beichuan_travel.mapper;

import com.beichuan_travel.model.po.AttractionPO;
import com.beichuan_travel.model.po.HotelPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface HotelMapper {

    // 根据名字查询
    HotelPO queryByName(String name);

    // 根据名字相似查询
    List<HotelPO> queryByLikeName(String name);

    // 查询全部，按星级从高到低排序
    List<HotelPO> queryAllByStarDesc();

    // 查询全部，按价格从低到高排序
    List<HotelPO> queryAllByPriceAsc();

    // 查询全部，按名字从a开始排序
    List<HotelPO> queryAllByNameAsc();

    // 按价格查询，lower：最低价格，upper：最高价格
    List<HotelPO> queryByPrice(@Param("lower") int lower, @Param("upper") int upper);

    // 按评价查询，因为评价是个小数，但是输入的是个整数a，所以我们查询的是[a,a+1]这个区间
    List<HotelPO> queryByStar(@Param("lower") int lower,  @Param("upper") int upper);

    // 添加酒店
    int addHotel(HotelPO hotelPO);

    String imgUrl(Integer id);

    List<HotelPO> queryByConditionPriceForRelax(@Param("location") String location,
                                                Date date, Float price, @Param("roomType") Integer roomType);

    List<HotelPO> queryByConditionStarForRelax(String location, Date date, Float star, Integer roomType);
}
